3ddb79c25UE59iu4JJcbRalx95mvcg xen/include/public/xen.h
3e397e66m2tO3s-J8Jnr7Ws_tGoPTg xen/include/xen/ac_timer.h
40715b2epYl2jBbxzz9CI2rgIca7Zg xen/include/xen/acpi.h
-422f0995xCgnbsVhTjSncnqIABs64g xen/include/xen/adv_sched_hist.h
427fa2d1wyoVbvCyZRLposYjA_D_4g xen/include/xen/bitmap.h
427fa2d1ItcC_yWuBUkhc7adedP5ow xen/include/xen/bitops.h
3ddb79c0c0cX_DZE209-Bb-Rx1v-Aw xen/include/xen/cache.h
int vmcs_size;
unsigned int opt_vmx_debug_level = 0;
+integer_param("vmx_debug", opt_vmx_debug_level);
extern long evtchn_send(int lport);
extern long do_block(void);
+++ /dev/null
-/* Some functions to suport advanced scheduler histograms
- Author: Stephan.Diestelhorst@cl.cam.ac.uk */
-//#include <xen/sched.h>
-//#include <xen/sched-if.h>
-#include <asm/msr.h>
-#define ADV_SCHED_HISTO
-static inline void adv_sched_hist_start(int cpu) {
- u64 now;
- rdtscll(now);
- if (!schedule_data[cpu].save_tsc)
- schedule_data[cpu].save_tsc = now;
-}
-static inline void adv_sched_hist_from_stop(int cpu) {
- u64 now;
- rdtscll(now);
- if (schedule_data[cpu].save_tsc) {
- now -= schedule_data[cpu].save_tsc;
- now /= 7;
- if (now < BUCKETS-1)
- schedule_data[cpu].from_hist[now]++;
- else
- schedule_data[cpu].from_hist[BUCKETS-1]++;
-
- schedule_data[cpu].save_tsc = 0;
- }
-}
-static inline void adv_sched_hist_to_stop(int cpu) {
- u64 now;
- rdtscll(now);
- if (schedule_data[cpu].save_tsc) {
- now -= schedule_data[cpu].save_tsc;
- now /= 24;
- if (now < BUCKETS-1)
- schedule_data[cpu].to_hist[now]++;
- else
- schedule_data[cpu].to_hist[BUCKETS-1]++;
-
- schedule_data[cpu].save_tsc = 0;
- }
-}